package com.itheima.controller;

import com.itheima.pojo.Article;
import com.itheima.pojo.PageBean;
import com.itheima.pojo.Result;
import com.itheima.service.ArticleService;
import com.itheima.utils.JwtUtil;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@RestController
@RequestMapping("/article")
public class ArticleController {

	@Autowired
	private ArticleService articleService;

	//添加文章
	@PostMapping
	public Result add(@RequestBody @Validated Article article) {
		articleService.add(article);
		return Result.success();
	}

	//文章分类列表查询
	@GetMapping
	public Result<PageBean<Article>> list(
			Integer pageNum,
			Integer pageSize,
			@RequestParam(required = false) Integer categoryId,
			@RequestParam(required = false) String state
	) {
		PageBean<Article> pb = articleService.list(pageNum, pageSize, categoryId, state);
		return Result.success(pb);
	}

	//获取文章详情
	@GetMapping("/detail")
	public Result<Article> detail(Integer id) {
		Article article = articleService.findById(id);
		return Result.success(article);
	}

	//更新文章
	@PutMapping
	public Result update(@RequestBody Article article) {
		articleService.update(article);
		return Result.success();
	}

	//删除文章
	@DeleteMapping
	public Result delete(Integer id) {
		boolean b = articleService.deleteById(id);
		if (b) {
			return Result.success("数据删除成功");
		}
		return Result.error("数据不存在");
	}
}
